﻿# 
# 以下代码仅供参考。
# 
'''
问题2:提取主题词及其出现频次。要求:在文件PY301-2.py中补充代码，
提取c1ean. txt文件中长度不少于3个字符的词语并统计词频，
将词频最高的10个词语作为主题词，并将主题词及其频次输出到屏幕。
示例如下:
4.0:10,制造业:9,…(略)
注意:输出格式采用英文冒号和英文逗号，标点符号前后无空格，各词语中间用逗号分隔，最后一个词语后无逗号。
'''
import jieba

fr = open('clean.txt', encoding='utf-8')
txt = fr.read()
res = jieba.lcut(txt)

d = {}
for i in res:
    if len(i)>2:
        d[i] = d.get(i, 0) + 1

lt = list(d.items())
lt.sort(key=lambda x: x[1], reverse=True)
tmp = ''
for i in range(10):
    tmp += '{}:{},'.format(lt[i][0], lt[i][-1])

print(tmp[:-1])

# words=jieba.lcut(txt)
#
#
#
# d = {}
# for word in words:
#     if len(word)<3:
#         continue
#     else:
#         d[word]=d.get(word,0)+1
#
# lt = list(d.items())
# lt.sort(key = lambda x:x[1],reverse = True)
#
# for i in range(10):
#     word,count=lt[i]
#     if i<9:
#         print("{}:{}".format(word,count),end=",")
#     else:
#         print("{}:{}".format(word,count))
